#!/bin/bash -ilex
#--------------------------------------------
# 这是一个解压war包部署的脚本
# 功能： 
# 特色：
#--------------------------------------------
time=`date +%Y%m%d`
logName="/home/ubuntu/software/deploy131_$time.log"
warpath=$1
cd $warpath/

# 解压war包  -o的参数，直接覆盖原文件 ,2>&1表示错误页追到到前面输出的日志中
echo "\nunzip war start : `date +%Y-%m-%d\ %T`" >> $logName
unzip -o .war -d ROOT >> $logName 2>&1
echo "unzip war end : `date +%Y-%m-%d\ %T`" >> $logName

# 定义tomcat的路径
tomcatPath=/home/ubuntu/tomcat131-8.0.18-worker3-creditManage
tomcatPath=$2
echo "tomcatPath : $tomcatPath" >> $logName 2>&1

# 备份原项目
echo "\nbackup oldproject start : `date +%Y-%m-%d\ %T`" >> $logName
cp -r $tomcatPath/webapps/ROOT $tomcatPath/webapps/ROOT_`date +%Y%m%d%H%M` >> $logName 2>&1
echo "backup oldproject end : `date +%Y-%m-%d\ %T`" >> $logName
# 复制解压内容到tomcat，注意第一个ROOT带斜线,不带斜线联通ROOT一起复制
###-a, –archive 归档模式，表示以递归方式传输文件，并保持所有文件属性，等于-rlptgoD
###-v, –verbose 详细模式输出
###-z, –compress 对备份的文件在传输时进行压缩处理
echo "\ncopy files start : `date +%Y-%m-%d\ %T`" >> $logName
rsync -avz --exclude="*/*.properties" --exclude="*/*.dat" --exclude="*/*.xml" ROOT/ $tomcatPath/webapps/ROOT/  >> $logName 2>&1
echo "copy files end : `date +%Y-%m-%d\ %T`" >> $logName

cd $tomcatPath/bin/
sh catalina.sh stop >> $logName 2>&1
sh catalina.sh start >> $logName 2>&1

# 删除ROOT
echo "remove ROOT start : `date +%Y-%m-%d\ %T`" >> $logName 2>&1
rm -r $warpath/ROOT >> $logName 2>&1
echo "remove ROOT end : `date +%Y-%m-%d\ %T`" >> $logName 2>&1
